The present invention relates generally to a system and method for pushing data to a wireless device and specifically to managing the data when the device may fall outside of a coverage range.
Access to information has led to the success of the wireless communication device industry. Handheld wireless devices have successfully introduced portable devices that enable users to have wireless access to features such as electronic mail (e-mail) and the Internet. In the wireless device industry, there is a very clear trend towards facilitating “pushing” data, including electronic mail (e-mail) messages, application data, and notification messages, to the wireless device. The main reason for this trend is that it provides a high usability to wireless communication devices without requiring a device user to explicitly retrieve data. Such functionality is particularly useful for e-mail, but is also enables the device user to subscribe for notifications from various services. Further, push functionality allows service providers or corporate information technology departments, for example, to load or update software on the wireless communication device. Other uses and benefits of push technology will be realised as the technology matures.
Accordingly, it can be seen that push technology reduces the total volume of network traffic required to keep an image of remotely stored and manipulated data up-to-date by pushing data to the wireless device only when it is modified, rather than having the wireless device repeatedly poll for data updates. Although push technology can be used in a traditional client/server environment, the benefits of push technology are most significant in the wireless space, where processing and memory resources are scarce.
A challenge faced in the wireless space is overcoming volatile mobile device connectivity due to poor network links or devices falling out of coverage of a wireless communication network. In the absence of a reliable delivery protocol, pushed data can be lost and result in an inconsistent data state as perceived by a push initiator and the wireless device.
One solution to address this issue is the development of several levels of message reliability. Messages that are deemed to be important are assigned a high reliability level and protocols are implemented for ensuring message delivery. Messages that are deemed less essential are assigned a lower message reliability level and protocols are implemented for reducing overhead resources used.
However, in the presence of a reliable messaging protocol, regardless of the level, resources are wasted while the delivery protocol attempts to reach a wireless device that is offline.